Semiconductor manufacturing often uses automated control of fabrication facilities (fabs) having multiple tools that perform different stages of the semiconductor manufacturing process. These tools may include deposition tools, etch tools, chemical mechanical polishing (CMP) tools, inspection tools and metrology tools. The sequence and types of processes performed by each tool is often determined by instructions from a fab automation (FA) controller that is coupled to all of the tools. Commands from the FA determine which process a given tool will perform on a wafer or batch of wafers and the overall sequence of processes performed on a wafer by different tools. Each tool typically executes a process in response to instructions from a computerized controller or agent that is either part of the tool or remotely located and coupled to the tool. The instructions for a given processes is sometimes referred to as a recipe. The recipe is typically characterized by a number of parameters that characterize the process. Where there are a large number of recipes, a fab may include a recipe database manager (RDM) server to store and keep track of these recipes and to allow the user to generate new recipes, e.g., from libraries.
A typical tool allows a user to change the parameters of a recipe manually or to optimize certain parameters automatically during operation. Although this provides flexibility of operation it can also lead to problems. The number of different combinations of parameters for a given recipe can be very large. However, only certain combinations of parameters may be suitable for a given desired process. If certain parameters of a recipe are changed to values outside of an acceptable range, the recipe may not run properly. Unfortunately, on many tools the recipe runs automatically once the recipe is set up and the tool receives a command to run the recipe. The user cannot tell if the recipe was valid until after the recipe runs. Running an incorrect recipe can lead to ruined wafers, reduced yield and lost production time.
It is often difficult to validate a recipe before it is run without access to the parameters. Most recipes are computer coded in a language that can be read by the tool on which it is to be run. Some tool manufacturers can provide a recipe in a text format but manual validation of such recipes is time consuming.
Thus, there is a need in the art, for a method for automatically validating recipes for semiconductor processing tools and an apparatus for implementing such a method.